using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("GeneralStorePackBuyButton")]
	public class GeneralStorePackBuyButton : PegUIElement
	{
		public UberText m_quantityText => method_3<UberText>("m_quantityText");

		public UberText m_costText => method_3<UberText>("m_costText");

		public UberText m_fullText => method_3<UberText>("m_fullText");

		public Color m_goldQuantityTextColor => method_2<Color>("m_goldQuantityTextColor");

		public Color m_moneyQuantityTextColor => method_2<Color>("m_moneyQuantityTextColor");

		public Color m_goldCostTextColor => method_2<Color>("m_goldCostTextColor");

		public Color m_moneyCostTextColor => method_2<Color>("m_moneyCostTextColor");

		public GameObject m_goldIcon => method_3<GameObject>("m_goldIcon");

		public GameObject m_selectGlow => method_3<GameObject>("m_selectGlow");

		public List<Renderer> m_buttonRenderers => method_3<Class271<Renderer>>("m_buttonRenderers")?.method_25();

		public int m_materialIndex => method_2<int>("m_materialIndex");

		public string m_materialPropName => method_4("m_materialPropName");

		public Vector2 m_goldBtnMatOffset => method_2<Vector2>("m_goldBtnMatOffset");

		public Vector2 m_goldBtnDownMatOffset => method_2<Vector2>("m_goldBtnDownMatOffset");

		public Vector2 m_moneyBtnMatOffset => method_2<Vector2>("m_moneyBtnMatOffset");

		public Vector2 m_moneyBtnDownMatOffset => method_2<Vector2>("m_moneyBtnDownMatOffset");

		public bool m_selected => method_2<bool>("m_selected");

		public bool m_isGold => method_2<bool>("m_isGold");

		public GeneralStorePackBuyButton(IntPtr address, string className)
			: base(address, className)
		{
		}

		public GeneralStorePackBuyButton(IntPtr address)
			: this(address, "GeneralStorePackBuyButton")
		{
		}

		public bool IsSelected()
		{
			return method_11<bool>("IsSelected", Array.Empty<object>());
		}

		public void Select()
		{
			method_8("Select");
		}

		public void Unselect()
		{
			method_8("Unselect");
		}

		public void UpdateFromGTAPP(NoGTAPPTransactionData noGTAPPGoldPrice)
		{
			method_8("UpdateFromGTAPP", noGTAPPGoldPrice);
		}

		public void UpdateFromMoneyBundle(Network.Bundle bundle)
		{
			method_8("UpdateFromMoneyBundle", bundle);
		}

		public void SetGoldValue(long goldCost, string quantityText)
		{
			method_8("SetGoldValue", goldCost, quantityText);
		}

		public void SetMoneyValue(Network.Bundle bundle, string quantityText)
		{
			method_8("SetMoneyValue", bundle, quantityText);
		}

		public void UpdateButtonState()
		{
			method_8("UpdateButtonState");
		}

		public new void OnDoubleClick()
		{
			method_8("OnDoubleClick");
		}
	}
}
